home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / Games / roids / roids.doc < prev    next >
Encoding:
Text File  |  1995-05-03  |  9.7 KB  |  331 lines

  1.  
  2.  
  3.  
  4. roids(1)                                                 roids(1)
  5.  
  6.  
  7. NNAAMMEE
  8.        _r_o_i_d_s - Dodge and shoot the flying rocks.
  9.  
  10. SSYYNNOOPPSSIISS
  11.        rrooiiddss [-display display:number]
  12.  
  13. DDEESSCCRRIIPPTTIIOONN
  14.        _r_o_i_d_s  is  an  implementation  of  the old Atari Asteroids
  15.        game, on top of the X11 window system.  Be warned that  it
  16.        only works on vveerryy fast workstations.
  17.  
  18.  
  19. PPLLAAYYIINNGG RROOIIDDSS
  20.        Initially,  you  will  be  presented  with a black window.
  21.        Nothing will happen until you give  input  focus  to  that
  22.        window.   (How you do this depends on your window manager;
  23.        in most of them, you just move the mouse  into  the  _r_o_i_d_s
  24.        window.  In some, you'll have to click the mouse as well.)
  25.  
  26.        Once you get things going, you'll find yourself in control
  27.        of  a small triangular ship, dodging big rocks.  Your con-
  28.        trols are:
  29.  
  30.  
  31.  
  32.        zz       Rotate the ship to the  left.   It  will  continue
  33.                rotating as long as the key stays depressed.
  34.  
  35.  
  36.        xx       Rotate  the  ship  to the right.  It will continue
  37.                rotating as long as the key stays depressed.
  38.  
  39.  
  40.        ,,       Apply thrust.  Thrusting will continue as long  as
  41.                the key remains depressed.
  42.  
  43.  
  44.        ..       Fire  a  bullet.   You may have up to four bullets
  45.                flying at once.
  46.  
  47.  
  48.        QQ       Abort the game.  This must be entered as a capital
  49.                Q (the shift key must be down).
  50.  
  51.                If  you prefer, you may control your ship with the
  52.                mouse.  The controls here are:
  53.  
  54.  
  55.  
  56.        LLeefftt    Rotate the ship to point towards the mouse  arrow.
  57.  
  58.  
  59.        MMiiddddllee  Apply thrust.
  60.  
  61.  
  62.  
  63.  
  64.                           10 March 1989                         1
  65.  
  66.  
  67.  
  68.  
  69.  
  70. roids(1)                                                 roids(1)
  71.  
  72.  
  73.        RRiigghhtt   Fire a bullet.
  74.  
  75.  
  76.  
  77. SSCCOORRIINNGG
  78.        Big rocks are worth 50 points.  Medium rocks are worth 100
  79.        points.  Small rocks are worth 200 points.
  80.  
  81.        You have three ships.  You get a free  ship  every  10,000
  82.        points.
  83.  
  84.  
  85.  
  86.  
  87.  
  88. CCUUSSTTOOMMIIZZIINNGG CCOOLLOORRSS
  89.        As  with  all  standard  X applications, _r_o_i_d_s may be cus-
  90.        tomized through entries in  the  resource  manager.   This
  91.        almost  always means editing your .Xdefaults file.  [Note:
  92.        the entry names must be entered in either all  lower-case,
  93.        or in the exact case shown below.]
  94.  
  95.  
  96.  
  97.        SShhiippCCoolloorr
  98.                The color to paint your ship.  (Default is green.)
  99.  
  100.  
  101.        RRoocckkCCoolloorr
  102.                The color to paint rocks.  (Default is gold.)
  103.  
  104.  
  105.        SShhoottCCoolloorr
  106.                The color to paint shots.  (Default is red.)
  107.  
  108.  
  109.        SSccoorreeCCoolloorr
  110.                The color to paint the score.  (Default is  viole-
  111.                tred.)
  112.  
  113.  
  114.  
  115. CCUUSSTTOOMMIIZZIINNGG MMOOUUSSEE AANNDD KKEEYYBBOOAARRDD
  116.        If you wish to set up your own interpretation of the mouse
  117.        and keyboard, the following actions are provided:
  118.  
  119.  
  120.  
  121.        ggrraabb--ffooccuuss
  122.                Grab the input focus.   This  is  only  useful  if
  123.                bound to a mouse action.
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.                           10 March 1989                         2
  131.  
  132.  
  133.  
  134.  
  135.  
  136. roids(1)                                                 roids(1)
  137.  
  138.  
  139.        rroottaattee--lleefftt
  140.                Start rotating the ship to the left.
  141.  
  142.  
  143.        rroottaattee--rriigghhtt
  144.                Start rotating the ship to the right.
  145.  
  146.  
  147.        rroottaattee--ooffff
  148.                Stop any rotation.
  149.  
  150.  
  151.        tthhrruusstt--oonn
  152.                Begin thrusting.
  153.  
  154.  
  155.        tthhrruusstt--ooffff
  156.                Stop thrusting.
  157.  
  158.  
  159.        rroottaattee--ttoo--ppooiinntt
  160.                Begin  rotating  to  point  to  where the mouse is
  161.                pointing.  This may only be bound to a  mouse-down
  162.                action.
  163.  
  164.  
  165.        ssttoopp--rroottaattee
  166.                Cancel   a  currently  executing  rotate-to-point.
  167.                This may only be bound to a mouse-up action.
  168.  
  169.  
  170.        rroottaattee--mmoovveedd
  171.                Change the point to rotate to.  This may  only  be
  172.                bound to a mouse-motion action.
  173.  
  174.  
  175.        ffiirree    Fire a shot.
  176.  
  177.  
  178.        qquuiitt    Quit the game.
  179.  
  180.  
  181.        It is beyond the scope of this document to describe how to
  182.        use these actions in your .Xdefaults file  to  change  the
  183.        keyboard and mouse interpretation.  As an example, though,
  184.        here is what you would use to get the default behavior:
  185.  
  186.        Roids*Roids*translation: \n\
  187.             <Btn1Down>:    grab-focus() rotate-to-point()\n\
  188.             Button1<PtrMoved>:  rotate-moved()\n\
  189.             <Btn1Up>:      stop-rotate()\n\
  190.             <Btn2Down>:    thrust-on()\n\
  191.             <Btn2Up>:      thrust-off()\n\
  192.             <Btn3Down>:    fire()\n\
  193.  
  194.  
  195.  
  196.                           10 March 1989                         3
  197.  
  198.  
  199.  
  200.  
  201.  
  202. roids(1)                                                 roids(1)
  203.  
  204.  
  205.             <KeyDown>z:    rotate-left()\n\
  206.             <KeyUp>z:      rotate-off()\n\
  207.             <KeyDown>x:    rotate-right()\n\
  208.             <KeyUp>x:      rotate-off()\n\
  209.             <KeyDown>\\,:  thrust-on()\n\
  210.             <KeyUp>\\,:    thrust-off()\n\
  211.             <KeyDown>.:    fire()\n\
  212.             Shift<KeyDown>q:    quit()
  213.  
  214.  
  215.  
  216. MMOOTTIIVVAATTIIOONN
  217.        I've always wanted to write one of these games.   Unfortu-
  218.        nately, I don't enjoy optimizing code to be very fast, and
  219.        that's what has always  been  necessary  for  good  arcade
  220.        games on every machine I've used.
  221.  
  222.        Until  I  got  my  DECstation  3100.  This machine is fast
  223.        enough that I didn't have to write efficient code.   _R_o_i_d_s
  224.        does  stupid things like repainting the ships location 100
  225.        times a second, and it doesn't matter.
  226.  
  227.        Thus, I have written a game that (probably  unnecessarily)
  228.        requires  a very fast workstation.  Please don't interpret
  229.        this as snobbishness on my part ("your  workstation  isn't
  230.        as fast as mine so you can't play my game, nyah nyah"); it
  231.        is just laziness.
  232.  
  233.  
  234. NNOOTTEESS
  235.        There are lots more resources.  The  ones  above  are  the
  236.        only  ones I want documented; the rest change the behavior
  237.        of the game.  The curious should look at the source.
  238.  
  239.        The mouse controls are, in my opinion,  useless.   I'd  be
  240.        very  interested if anyone actually likes them.  (I imple-
  241.        mented them for a friend who refuses to use  his  keyboard
  242.        to play games.)
  243.  
  244.        Collision detection is very good.  I actually check to see
  245.        if things touch; I refused to use the standard  method  of
  246.        just  seeing  if  the  centers  of  objects are close.  Of
  247.        course, this is a large part of why  _r_o_i_d_s  needs  a  fast
  248.        workstation.
  249.  
  250.        _R_o_i_d_s works only on very fast workstations.  Don't try and
  251.        play it over a network; it won't work.
  252.  
  253.  
  254. BBUUGGSS
  255.        The rocks look really stupid.  Anyone have some good  rock
  256.        designs?
  257.  
  258.        You  shouldn't  have to re-run the program to play another
  259.  
  260.  
  261.  
  262.                           10 March 1989                         4
  263.  
  264.  
  265.  
  266.  
  267.  
  268. roids(1)                                                 roids(1)
  269.  
  270.  
  271.        game.
  272.  
  273.        There should be high-score mechanisms.
  274.  
  275.        Doesn't handle different visuals  like  a  good  X  client
  276.        should.  In particular, if you play this on a display with
  277.        a StaticGrey visual, you will probably not be able to  see
  278.        anything.
  279.  
  280.        The default colors don't show up well on all displays.
  281.  
  282.        No  enemy  ships.   In  a way, this is a feature; I always
  283.        despised the fact that people could get lots of points  in
  284.        the original Asteroids by leaving one tiny little rock and
  285.        blasting all the enemy ships.
  286.  
  287.        The code really could be a lot more efficient, and  there-
  288.        fore work well over a larger variety of machines.
  289.  
  290.  
  291.  
  292. CCOOPPYYRRIIGGHHTT
  293.        Copyright 1989 Digital Equipment Corporation
  294.  
  295.        Permission to use, copy, modify, and distribute this soft-
  296.        ware and its documentation for any purpose and without fee
  297.        is  hereby  granted,  provided  that  the  above copyright
  298.        notice appear in all copies and that both  that  copyright
  299.        notice  and  this  permission  notice appear in supporting
  300.        documentation, and that the name of Digital Equipment Cor-
  301.        poration  not be used in advertising or publicity pertain-
  302.        ing to distribution  of  the  software  without  specific,
  303.        written  prior  permission.  Digital Equipment Corporation
  304.        makes no representations about  the  suitability  of  this
  305.        software  for any purpose.  It is provided "as is" without
  306.        express or implied warranty.
  307.  
  308.        DIGITAL EQUIPMENT  CORPORATION  DISCLAIMS  ALL  WARRANTIES
  309.        WITH  REGARD  TO THIS SOFTWARE, INCLUDING ALL IMPLIED WAR-
  310.        RANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT  SHALL
  311.        DIGITAL  EQUIPMENT  CORPORATION BE LIABLE FOR ANY SPECIAL,
  312.        INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY  DAMAGES  WHATSO-
  313.        EVER  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
  314.        IN AN ACTION OF CONTRACT,  NEGLIGENCE  OR  OTHER  TORTIOUS
  315.        ACTION,  ARISING  OUT  OF OR IN CONNECTION WITH THE USE OR
  316.        PERFORMANCE OF THIS SOFTWARE.
  317.  
  318.  
  319.  
  320. AAUUTTHHOORR
  321.        Terry Weissman
  322.        Western Software Laboratory
  323.        Digital Equipment Corporation
  324.        weissman@wsl.dec.com
  325.  
  326.  
  327.  
  328.                           10 March 1989                         5
  329.  
  330.  
  331.